Cloud computing and virtualization involves dividing and assigning components of a system to be dedicated to various workloads/images. Many of these workloads/images have a set of requirements to run, meaning a system must be able to provide those requirements for the workload to be deployed/executed. If a system cannot provide those resources, then the workload/image must wait for the appropriate resources to be freed. If a system, executing a workload, encounters an issue or failure, the workload may be evacuated to another system to continue execution.
However, especially during high usage periods, there may be very few systems which meet a set of requirements to execute a given workload. When a workload is running on a system that encounters a problem, a situation may occur in which the workload has no available alternative destination which meets the requirements for execution of the workload. As a result, data loss and/or excess compute time may occur, reducing or defeating the performance of the virtualized system with respect to the workload.
Accordingly, it would be beneficial to provide systems, methods, computer program products and the like which avoid the problems associated with manual network environment configuration controlled exclusively by the user.